home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- # Return a full cpp specification, complete with system dependent flags.
- #
- # Syntax: cppmagic [ program-to-generate-flags [ guessed-cpp ]]
- #
- # If only one arg is present it is the name of a program to invoke
- # which should generate -Dfoo defines.
- #
- # If two args are present the second arg is the name of the C
- # preprocessor to use.
- #
- # Invoked with no args, provides a C preprocessor name and
- # -traditional flag if that is appropriate.
- #
- # ../Makefile calls this file thusly: "cppmagic getcppsyms".
- #
- # Typical output:
- #
- # /lib/cpp -Dunix -Dm68k
- #
-
- Cpp=
-
- if [ "$2" ]; then
- Cpp=$2
- else
- for cpp in /lib/cpp /usr/lib/cpp /usr/ccs/lib/cpp; do
- if [ -f $cpp ]; then
- Cpp=$cpp
- fi
- done
- if [ "$Cpp" = "" ]; then
- Cpp=cpp
- fi
- fi
-
- TRADITIONAL=
- FLAGS=
-
- # First flag might be `-traditional' if this is Gnu Cpp.
- unknown_flag=`$Cpp -traditional /dev/null 2>&1 |
- egrep 'known|recognized|valid|bad|legal'`
- if [ "$unknown_flag" = "" ]; then
- TRADITIONAL=-traditional
- fi
-
- if [ "$1" ]; then
- FLAGS=`$1`
- fi
-
- echo $Cpp $TRADITIONAL $FLAGS
-